﻿using LimaLims.Core;
using LimaLims.Core.Entity.System;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimaLims.Application.Service.Role
{
    public interface ISysRoleService
    {
        Task AddRole(AddRoleInput input);

        Task DeleteRole(long roleId);

        Task<List<RoleOutput>> GetRoleDropDown();

        Task<dynamic> GetRoleList([FromQuery] RoleInput input);

        Task<List<RoleOutput>> GetUserRoleList(long userId);

        Task<QueryRoleOutput> Detail([FromQuery] QueryRoleInput input);

        Task<PageResult<SysRole>> QueryRolePageList([FromQuery] RolePageInput input);

        Task UpdateRole(UpdateRoleInput input);

        Task<List<long>> GetUsersByMenuPermission(string permission);
    }
}
